import { defineNuxtConfig } from 'nuxt/config'
import AutoImport from 'unplugin-auto-import/vite'

export default defineNuxtConfig({
  // ✅ 兼容日期
  compatibilityDate: '2025-07-15',

  // ✅ 开发工具
  devtools: { enabled: false },

  // ✅ 全局样式
  css: [
    'ant-design-vue/dist/reset.css',  // 必须，防止样式冲突
    '~/assets/styles/global.less',    // 自定义全局样式
  ],

  // ✅ Nuxt 模块
  modules: [
    '@ant-design-vue/nuxt',  // 自动按需引入 Ant Design Vue
    '@nuxt/eslint',           // ESLint 模块
    '@nuxtjs/tailwindcss',
    '@nuxtjs/sitemap',
    '@nuxtjs/robots'
  ],

  tailwindcss: {
    viewer: false,
  },

  // ✅ Ant Design Vue 配置
  antd: {
    extractStyle: true,
  },

  // ✅ Vite 配置
  vite: {
    build: {
      chunkSizeWarningLimit: 1000
    },
    plugins: [
      AutoImport({
        imports: ['vue'],
        dts: 'types/auto-import.d.ts',
      }),
    ],
    css: {
      preprocessorOptions: {
        less: {
          javascriptEnabled: true,    // 必须开启 less JS 支持
        },
      },
    },
  },

  // ✅ ESLint 配置
  eslint: {
    config: true,
  },

  // ✅ Runtime 配置 - 数据库连接信息
  runtimeConfig: {
    // 私有配置（仅在服务端可用）
    dbHost: 'rm-bp1k0y7f32g72ry5h3o.mysql.rds.aliyuncs.com',  // 通过环境变量设置：NUXT_DB_HOST
    dbUser: 'ai_web_common',  // 通过环境变量设置：NUXT_DB_USER
    dbPassword: 'Admin123456!',  // 通过环境变量设置：NUXT_DB_PASSWORD
    dbName: 'ai_website',  // 通过环境变量设置：NUXT_DB_NAME
    apiSecret: '',
    public: {
      apiBase: '/api',
      beianInfo: '京公网安备11010502057716号', // 备案信息
      siteUrl: 'https://itoolsu.cn', // 网站URL
    }, // 公共
  },

  // ✅ Route 规则 - ISR 配置
  routeRules: {
    '/': { 
      isr: true,  // 启用 ISR
      prerender: true  // 预渲染首页
    },
    '/api/**': { cors: true },  // API 路由不缓存
  },

  // ✅ Nitro 服务端配置 - 使用 node-server 支持 ISR
  nitro: {
    preset: 'node-server',  // 使用 node-server 支持 ISR 和按需生成
    esbuild: { options: { target: 'es2020', minify: true } },
    minify: true,
    sourceMap: false,
    
    // ✅ 预渲染配置
    prerender: {
      routes: ['/', '/tools/1', '/tools/2', '/about', '/categories'],  // 构建时预渲染的路由
    },
  },

  sitemap: {
    enabled: true,
    autoLastmod: true,
    minify: true,
    discoverImages: true,
    cacheMaxAgeSeconds: 600,
    sortEntries: true,
    credits: false,
  },

  // ✅ Site 配置 - Sitemap 必需
  site: {
    url: 'https://itoolsu.cn',  // 网站的基础 URL
    name: 'AI工具集官网',  // 网站名称
  },

  robots: {
    enabled: true,
    sitemap: ['http://8.130.166.72/sitemap.xml'],
    allow: ['/'],
    disallow: ['/admin', '/api'],
    blockAiBots: true,
    blockNonSeoBots: true,
    credits: false,
  },
  app: {
    head: {
      titleTemplate: '%s - AI工具集官网 | 1000+ AI工具集合，国内外AI工具集导航大全',
      meta: [
        { name: 'charset', content: 'utf-8' },
        { name: 'viewport', content: 'width=device-width, initial-scale=1' },
        { name: 'description', content: 'AI工具集官网收录了国内外数百个AI工具，该导航网站包括AI写作工具、AI图像生成和背景移除、AI视频制作、AI音频转录、AI辅助编程、AI音乐生成、AI绘画设计、AI对话聊天等AI工具集合大全，以及AI学习开发的常用网站、框架和模型，帮助你加入人工智能浪潮，自动化高效完成任务！' },
      ],
      link: [
        { rel: 'stylesheet', href: 'https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css' }
      ]
    }
  },

  // ✅ 实验性功能优化
  experimental: {
    payloadExtraction: false,
    typedPages: false,
  }
})
